/* Die Klasse SuchBenutzerCombo
 * implementiert die Verwaltung
 * der Wahl,die in combobox
 * persontyp ausgewaehlt ist.
 * 
 * Datei: MySuchAktion.java       
 * Autor: Gregory Keussi
 * 
 * Datum: 20.12.11                 Version: 0.1 
 */

package suche;

import java.util.ArrayList;
import java.util.List;

import personenverwaltung.Benutzer;

public class SuchBenutzerCombo
{

  public BenutzerSortieren b, bss;
  public int i, j;
  private String t;


  public SuchBenutzerCombo (List<Benutzer> be, int i, int j, String t)
  {
    this.i = i;
    this.j = j;
    this.t = t;

    b = new BenutzerSortieren (be);
  }


  /*
   * Die Methode nimmt eine Liste von typ Benutzer als parameter .Und
   * liefert ein objekt Benutzer zurueck.
   */

  public Benutzer suchnutzerId (List<Benutzer> c)
  {
    Benutzer erg;
    BenutzerSortieren bs = new BenutzerSortieren (c);

    int l = Integer.parseInt (t);
    erg = bs.suchBenutzerNachId (l);

    return erg;
  }


  /*
   * Die Methode nimmt eine Liste von typ Benutzer als parameter .Und
   * liefert eine liste von Benutzer zurueck. Die Methode sucht einen
   * Benutzer nach name
   */

  public List<Benutzer> suchnachName (List<Benutzer> c)
  {
    List<Benutzer> erg;
    BenutzerSortieren bs = new BenutzerSortieren (c);
    erg = bs.suchBenutzerNachName (t);

    return erg;

  }


  /*
   * Die Methode nimmt keine parameter. Und liefert eine liste Benutzer
   * zurueck.
   */

  public List<Benutzer> listwaehlen ()
  {
    List<Benutzer> g = new ArrayList<Benutzer> ();
    switch (i)
    {
    case 0:
      g = b.gibAdministratoList ();
      break;

    case 1:
      g = b.gibMitarbeiterList ();
      break;

    case 2:
      g = b.gibStudentList ();
      break;

    default:
      break;
    }
    return g;
  }


  /*
   * Die Methode nimmt keinen parameter und liefert eine Liste zurueck.
   * Die Methode beschaeftigt sich mit der Bewegung inerhalb den
   * Comboboxen .
   */

  public List<Benutzer> benutzerSuchKombi ()
  {
    List<Benutzer> ll = new ArrayList<Benutzer> ();
    if (j == 0 || j == 2)
    {

      ll.add (suchnutzerId (listwaehlen ()));
    }

    if (j == 1)
    {
      ll.add (suchnutzerId (listwaehlen ()));
    }

    bss = new BenutzerSortieren (ll);
    return ll;

  }


  /*
   * die Methode nimmt keinen Parameter .Und sie liefert ein String
   * zurueck. Die methode wendelt nur die information von einem objekt
   * der Liste zu string.
   */

  public String stringfuerArea ()
  {
    String s = " ";
    try
    {
      benutzerSuchKombi ();
      for (String a : bss.gibMyString ())
      {
        s += a;
      }
    }
    catch (Exception e)
    {

      e.printStackTrace ();
      s = "ERRor fuer die suche nach Person\n";
    }

    return s;
  }

}
